package cn.com.yusys.yusp.admin.repository.mapper;

import cn.com.yusys.yusp.admin.domain.AdminSmMenu;
import cn.com.yusys.yusp.commons.mapper.CommonMapper;
import cn.com.yusys.yusp.commons.mapper.QueryModel;

import java.util.List;
import java.util.Map;

/**
 * @项目名称: yusp-admin
 * @类名称: AdminMenuConfigMapper
 * @类描述: 菜单配置DAO层
 * @功能描述:
 * @创建人: weimei1@yusys.com.cn
 * @创建时间: 2017-12-23 10:25
 * @修改备注:
 * @修改记录: 修改时间 修改人员 修改原因
 *        -------------------------------------------------------------
 * @version 1.0.0
 * @Copyright (c) 2017宇信科技-版权所有
 */
public interface AdminSmMenuMapper extends CommonMapper<AdminSmMenu> {

    /**
     * @方法名称:getMenuTree
     * @方法描述:菜单树初始化查询
     * @参数与返回说明:
     * @算法描述:
     */
    List<Map<String, Object>> getMenuTree(String sysId);
    /**
     * @方法名称:getMenuTreeLazy
     * @方法描述:菜单树初始化查询(懒加载)
     * @参数与返回说明:
     * @算法描述:
     */
	List<Map<String, Object>> getMenuTreeLazy(Map<String, String> paramMap);


    /**
     * @方法名称:getMenuInfo
     * @方法描述:菜单节点信息查询
     * @参数与返回说明:
     * @算法描述:
     */
    Map<String, Object> getMenuInfo(String menuId);

    /**
     * @方法名称:getDeleteMenuId
     * @方法描述:删除时查询是否有子节点菜单，获取选中菜单menuId及相应的子节点菜单menuId
     * @参数与返回说明:
     * @算法描述:
     */
    List<String> getDeleteMenuId(String menuId);

    /**
     * @方法名称: getFuncInfo
     * @方法描述: 业务功能列表查询
     * @参数与返回说明:
     * @算法描述:
     */
    List<Map<String, Object>> getFuncInfo(QueryModel model);

}
